Testing Solidity Contracts: Prepare For Your Audit Like A Pro